Learn R Programming

Directional (version 4.7)

Spherical regression using the projected normal or the von Mises-Fisher distribution: Spherical regression using the projected normal or the von Mises-Fisher distribution

Description

Spherical regression using the projected normal or the von Mises-Fisher distribution.

Usage

iag.reg(y, x, con = TRUE, xnew = NULL, tol = 1e-06)
vmf.reg(y, x, con = TRUE, xnew = NULL, tol = 1e-06)

Arguments

y

A matrix with 3 columns containing the (unit vector) spherical data.

x

The predictor variable(s), they can be continnuous, spherical, categorical or a mix of them.

con

Do you want the constant term in the regression?

xnew

If you have new data use it, otherwise leave it NULL.

tol

A tolerance value to decide when to stop the successive optimaizations.

Value

A list including:

loglik

The log-likelihood of the regression model.

fit

This is a measure of fit of the estimated values, defined as \(\sum_{i=1}^ny_i^T\hat{y}_i\). This appears if the argument "xnew" is NULL.

beta

The beta coefficients.

seb

The standard error of the beta coefficients.

ki

The norm of the fitted values. In the von Mises-Fisher regression this is the concentration parameter of each observation. In the projected normal this are the norms of the fitted values before being projected onto the sphere. This is returned if the argument "xnew" is NULL.

est

The fitted values of xnew if "xnew" is NULL. If it is not NULL, the fitted values for the "xnew" you supplied will be returned.

Details

The second parametrization of the projected normal and of the von Mises-Fisher regression (Paine et al., 2019) is applied. For more information see the paper by Paine et al. (2019).

References

P. J. Paine, S. P. Preston, M. Tsagris and Andrew T. A. Wood (2019). Spherical regression models with general covariates and anisotropic errors. Statistics and Computing (to appear). https://link.springer.com/content/pdf/10.1007

See Also

esag.mle, vmf.mle, spml.reg

Examples

Run this code
# NOT RUN {
y <- rvmf(150, rnorm(3), 5)
a1 <- iag.reg(y, iris[, 4])
a2 <- iag.reg(y, iris[, 4:5])

b1 <- vmf.reg(y, iris[, 4])
b2 <- vmf.reg(y, iris[, 4:5])
# }

Run the code above in your browser using DataLab